/*
 * XML Type:  mapped-superclass
 * Namespace: http://java.sun.com/xml/ns/persistence/orm
 * Java type: com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass
 *
 * Automatically generated - do not modify.
 */
package com.googlecode.horncomb.orm.jpa.v10.xmlbeans.impl;
/**
 * An XML mapped-superclass(@http://java.sun.com/xml/ns/persistence/orm).
 *
 * This is a complex type.
 */
public class MappedSuperclassImpl extends org.apache.xmlbeans.impl.values.XmlComplexContentImpl implements com.googlecode.horncomb.orm.jpa.v10.xmlbeans.MappedSuperclass
{
    
    /**  */
	private static final long serialVersionUID = -3223945309656114237L;


	public MappedSuperclassImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName DESCRIPTION$0 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "description");
    private static final javax.xml.namespace.QName IDCLASS$2 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "id-class");
    private static final javax.xml.namespace.QName EXCLUDEDEFAULTLISTENERS$4 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "exclude-default-listeners");
    private static final javax.xml.namespace.QName EXCLUDESUPERCLASSLISTENERS$6 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "exclude-superclass-listeners");
    private static final javax.xml.namespace.QName ENTITYLISTENERS$8 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "entity-listeners");
    private static final javax.xml.namespace.QName PREPERSIST$10 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "pre-persist");
    private static final javax.xml.namespace.QName POSTPERSIST$12 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "post-persist");
    private static final javax.xml.namespace.QName PREREMOVE$14 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "pre-remove");
    private static final javax.xml.namespace.QName POSTREMOVE$16 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "post-remove");
    private static final javax.xml.namespace.QName PREUPDATE$18 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "pre-update");
    private static final javax.xml.namespace.QName POSTUPDATE$20 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "post-update");
    private static final javax.xml.namespace.QName POSTLOAD$22 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "post-load");
    private static final javax.xml.namespace.QName ATTRIBUTES$24 = 
        new javax.xml.namespace.QName("http://java.sun.com/xml/ns/persistence/orm", "attributes");
    private static final javax.xml.namespace.QName CLASS1$26 = 
        new javax.xml.namespace.QName("", "class");
    private static final javax.xml.namespace.QName ACCESS$28 = 
        new javax.xml.namespace.QName("", "access");
    private static final javax.xml.namespace.QName METADATACOMPLETE$30 = 
        new javax.xml.namespace.QName("", "metadata-complete");
    
    
    /**
     * Gets the "description" element
     */
    public java.lang.String getDescription()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(DESCRIPTION$0, 0);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "description" element
     */
    public org.apache.xmlbeans.XmlString xgetDescription()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(DESCRIPTION$0, 0);
            return target;
        }
    }
    
    /**
     * True if has "description" element
     */
    public boolean isSetDescription()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(DESCRIPTION$0) != 0;
        }
    }
    
    /**
     * Sets the "description" element
     */
    public void setDescription(java.lang.String description)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_element_user(DESCRIPTION$0, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_element_user(DESCRIPTION$0);
            }
            target.setStringValue(description);
        }
    }
    
    /**
     * Sets (as xml) the "description" element
     */
    public void xsetDescription(org.apache.xmlbeans.XmlString description)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_element_user(DESCRIPTION$0, 0);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_element_user(DESCRIPTION$0);
            }
            target.set(description);
        }
    }
    
    /**
     * Unsets the "description" element
     */
    public void unsetDescription()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(DESCRIPTION$0, 0);
        }
    }
    
    /**
     * Gets the "id-class" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.IdClass getIdClass()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.IdClass target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.IdClass)get_store().find_element_user(IDCLASS$2, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "id-class" element
     */
    public boolean isSetIdClass()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(IDCLASS$2) != 0;
        }
    }
    
    /**
     * Sets the "id-class" element
     */
    public void setIdClass(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.IdClass idClass)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.IdClass target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.IdClass)get_store().find_element_user(IDCLASS$2, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.IdClass)get_store().add_element_user(IDCLASS$2);
            }
            target.set(idClass);
        }
    }
    
    /**
     * Appends and returns a new empty "id-class" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.IdClass addNewIdClass()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.IdClass target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.IdClass)get_store().add_element_user(IDCLASS$2);
            return target;
        }
    }
    
    /**
     * Unsets the "id-class" element
     */
    public void unsetIdClass()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(IDCLASS$2, 0);
        }
    }
    
    /**
     * Gets the "exclude-default-listeners" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType getExcludeDefaultListeners()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType)get_store().find_element_user(EXCLUDEDEFAULTLISTENERS$4, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "exclude-default-listeners" element
     */
    public boolean isSetExcludeDefaultListeners()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(EXCLUDEDEFAULTLISTENERS$4) != 0;
        }
    }
    
    /**
     * Sets the "exclude-default-listeners" element
     */
    public void setExcludeDefaultListeners(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType excludeDefaultListeners)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType)get_store().find_element_user(EXCLUDEDEFAULTLISTENERS$4, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType)get_store().add_element_user(EXCLUDEDEFAULTLISTENERS$4);
            }
            target.set(excludeDefaultListeners);
        }
    }
    
    /**
     * Appends and returns a new empty "exclude-default-listeners" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType addNewExcludeDefaultListeners()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType)get_store().add_element_user(EXCLUDEDEFAULTLISTENERS$4);
            return target;
        }
    }
    
    /**
     * Unsets the "exclude-default-listeners" element
     */
    public void unsetExcludeDefaultListeners()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(EXCLUDEDEFAULTLISTENERS$4, 0);
        }
    }
    
    /**
     * Gets the "exclude-superclass-listeners" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType getExcludeSuperclassListeners()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType)get_store().find_element_user(EXCLUDESUPERCLASSLISTENERS$6, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "exclude-superclass-listeners" element
     */
    public boolean isSetExcludeSuperclassListeners()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(EXCLUDESUPERCLASSLISTENERS$6) != 0;
        }
    }
    
    /**
     * Sets the "exclude-superclass-listeners" element
     */
    public void setExcludeSuperclassListeners(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType excludeSuperclassListeners)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType)get_store().find_element_user(EXCLUDESUPERCLASSLISTENERS$6, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType)get_store().add_element_user(EXCLUDESUPERCLASSLISTENERS$6);
            }
            target.set(excludeSuperclassListeners);
        }
    }
    
    /**
     * Appends and returns a new empty "exclude-superclass-listeners" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType addNewExcludeSuperclassListeners()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EmptyType)get_store().add_element_user(EXCLUDESUPERCLASSLISTENERS$6);
            return target;
        }
    }
    
    /**
     * Unsets the "exclude-superclass-listeners" element
     */
    public void unsetExcludeSuperclassListeners()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(EXCLUDESUPERCLASSLISTENERS$6, 0);
        }
    }
    
    /**
     * Gets the "entity-listeners" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityListeners getEntityListeners()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityListeners target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityListeners)get_store().find_element_user(ENTITYLISTENERS$8, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "entity-listeners" element
     */
    public boolean isSetEntityListeners()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(ENTITYLISTENERS$8) != 0;
        }
    }
    
    /**
     * Sets the "entity-listeners" element
     */
    public void setEntityListeners(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityListeners entityListeners)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityListeners target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityListeners)get_store().find_element_user(ENTITYLISTENERS$8, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityListeners)get_store().add_element_user(ENTITYLISTENERS$8);
            }
            target.set(entityListeners);
        }
    }
    
    /**
     * Appends and returns a new empty "entity-listeners" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityListeners addNewEntityListeners()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityListeners target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.EntityListeners)get_store().add_element_user(ENTITYLISTENERS$8);
            return target;
        }
    }
    
    /**
     * Unsets the "entity-listeners" element
     */
    public void unsetEntityListeners()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(ENTITYLISTENERS$8, 0);
        }
    }
    
    /**
     * Gets the "pre-persist" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist getPrePersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist)get_store().find_element_user(PREPERSIST$10, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "pre-persist" element
     */
    public boolean isSetPrePersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(PREPERSIST$10) != 0;
        }
    }
    
    /**
     * Sets the "pre-persist" element
     */
    public void setPrePersist(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist prePersist)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist)get_store().find_element_user(PREPERSIST$10, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist)get_store().add_element_user(PREPERSIST$10);
            }
            target.set(prePersist);
        }
    }
    
    /**
     * Appends and returns a new empty "pre-persist" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist addNewPrePersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PrePersist)get_store().add_element_user(PREPERSIST$10);
            return target;
        }
    }
    
    /**
     * Unsets the "pre-persist" element
     */
    public void unsetPrePersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(PREPERSIST$10, 0);
        }
    }
    
    /**
     * Gets the "post-persist" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist getPostPersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist)get_store().find_element_user(POSTPERSIST$12, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "post-persist" element
     */
    public boolean isSetPostPersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(POSTPERSIST$12) != 0;
        }
    }
    
    /**
     * Sets the "post-persist" element
     */
    public void setPostPersist(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist postPersist)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist)get_store().find_element_user(POSTPERSIST$12, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist)get_store().add_element_user(POSTPERSIST$12);
            }
            target.set(postPersist);
        }
    }
    
    /**
     * Appends and returns a new empty "post-persist" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist addNewPostPersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostPersist)get_store().add_element_user(POSTPERSIST$12);
            return target;
        }
    }
    
    /**
     * Unsets the "post-persist" element
     */
    public void unsetPostPersist()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(POSTPERSIST$12, 0);
        }
    }
    
    /**
     * Gets the "pre-remove" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove getPreRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove)get_store().find_element_user(PREREMOVE$14, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "pre-remove" element
     */
    public boolean isSetPreRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(PREREMOVE$14) != 0;
        }
    }
    
    /**
     * Sets the "pre-remove" element
     */
    public void setPreRemove(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove preRemove)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove)get_store().find_element_user(PREREMOVE$14, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove)get_store().add_element_user(PREREMOVE$14);
            }
            target.set(preRemove);
        }
    }
    
    /**
     * Appends and returns a new empty "pre-remove" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove addNewPreRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreRemove)get_store().add_element_user(PREREMOVE$14);
            return target;
        }
    }
    
    /**
     * Unsets the "pre-remove" element
     */
    public void unsetPreRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(PREREMOVE$14, 0);
        }
    }
    
    /**
     * Gets the "post-remove" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove getPostRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove)get_store().find_element_user(POSTREMOVE$16, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "post-remove" element
     */
    public boolean isSetPostRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(POSTREMOVE$16) != 0;
        }
    }
    
    /**
     * Sets the "post-remove" element
     */
    public void setPostRemove(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove postRemove)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove)get_store().find_element_user(POSTREMOVE$16, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove)get_store().add_element_user(POSTREMOVE$16);
            }
            target.set(postRemove);
        }
    }
    
    /**
     * Appends and returns a new empty "post-remove" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove addNewPostRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostRemove)get_store().add_element_user(POSTREMOVE$16);
            return target;
        }
    }
    
    /**
     * Unsets the "post-remove" element
     */
    public void unsetPostRemove()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(POSTREMOVE$16, 0);
        }
    }
    
    /**
     * Gets the "pre-update" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate getPreUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate)get_store().find_element_user(PREUPDATE$18, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "pre-update" element
     */
    public boolean isSetPreUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(PREUPDATE$18) != 0;
        }
    }
    
    /**
     * Sets the "pre-update" element
     */
    public void setPreUpdate(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate preUpdate)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate)get_store().find_element_user(PREUPDATE$18, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate)get_store().add_element_user(PREUPDATE$18);
            }
            target.set(preUpdate);
        }
    }
    
    /**
     * Appends and returns a new empty "pre-update" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate addNewPreUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PreUpdate)get_store().add_element_user(PREUPDATE$18);
            return target;
        }
    }
    
    /**
     * Unsets the "pre-update" element
     */
    public void unsetPreUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(PREUPDATE$18, 0);
        }
    }
    
    /**
     * Gets the "post-update" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate getPostUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate)get_store().find_element_user(POSTUPDATE$20, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "post-update" element
     */
    public boolean isSetPostUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(POSTUPDATE$20) != 0;
        }
    }
    
    /**
     * Sets the "post-update" element
     */
    public void setPostUpdate(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate postUpdate)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate)get_store().find_element_user(POSTUPDATE$20, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate)get_store().add_element_user(POSTUPDATE$20);
            }
            target.set(postUpdate);
        }
    }
    
    /**
     * Appends and returns a new empty "post-update" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate addNewPostUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostUpdate)get_store().add_element_user(POSTUPDATE$20);
            return target;
        }
    }
    
    /**
     * Unsets the "post-update" element
     */
    public void unsetPostUpdate()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(POSTUPDATE$20, 0);
        }
    }
    
    /**
     * Gets the "post-load" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad getPostLoad()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad)get_store().find_element_user(POSTLOAD$22, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "post-load" element
     */
    public boolean isSetPostLoad()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(POSTLOAD$22) != 0;
        }
    }
    
    /**
     * Sets the "post-load" element
     */
    public void setPostLoad(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad postLoad)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad)get_store().find_element_user(POSTLOAD$22, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad)get_store().add_element_user(POSTLOAD$22);
            }
            target.set(postLoad);
        }
    }
    
    /**
     * Appends and returns a new empty "post-load" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad addNewPostLoad()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.PostLoad)get_store().add_element_user(POSTLOAD$22);
            return target;
        }
    }
    
    /**
     * Unsets the "post-load" element
     */
    public void unsetPostLoad()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(POSTLOAD$22, 0);
        }
    }
    
    /**
     * Gets the "attributes" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Attributes getAttributes()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Attributes target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Attributes)get_store().find_element_user(ATTRIBUTES$24, 0);
            if (target == null)
            {
                return null;
            }
            return target;
        }
    }
    
    /**
     * True if has "attributes" element
     */
    public boolean isSetAttributes()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(ATTRIBUTES$24) != 0;
        }
    }
    
    /**
     * Sets the "attributes" element
     */
    public void setAttributes(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Attributes attributes)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Attributes target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Attributes)get_store().find_element_user(ATTRIBUTES$24, 0);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Attributes)get_store().add_element_user(ATTRIBUTES$24);
            }
            target.set(attributes);
        }
    }
    
    /**
     * Appends and returns a new empty "attributes" element
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Attributes addNewAttributes()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Attributes target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.Attributes)get_store().add_element_user(ATTRIBUTES$24);
            return target;
        }
    }
    
    /**
     * Unsets the "attributes" element
     */
    public void unsetAttributes()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(ATTRIBUTES$24, 0);
        }
    }
    
    /**
     * Gets the "class" attribute
     */
    public java.lang.String getClass1()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CLASS1$26);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "class" attribute
     */
    public org.apache.xmlbeans.XmlString xgetClass1()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(CLASS1$26);
            return target;
        }
    }
    
    /**
     * Sets the "class" attribute
     */
    public void setClass1(java.lang.String class1)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(CLASS1$26);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(CLASS1$26);
            }
            target.setStringValue(class1);
        }
    }
    
    /**
     * Sets (as xml) the "class" attribute
     */
    public void xsetClass1(org.apache.xmlbeans.XmlString class1)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(CLASS1$26);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(CLASS1$26);
            }
            target.set(class1);
        }
    }
    
    /**
     * Gets the "access" attribute
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType.Enum getAccess()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ACCESS$28);
            if (target == null)
            {
                return null;
            }
            return (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType.Enum)target.getEnumValue();
        }
    }
    
    /**
     * Gets (as xml) the "access" attribute
     */
    public com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType xgetAccess()
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType)get_store().find_attribute_user(ACCESS$28);
            return target;
        }
    }
    
    /**
     * True if has "access" attribute
     */
    public boolean isSetAccess()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(ACCESS$28) != null;
        }
    }
    
    /**
     * Sets the "access" attribute
     */
    public void setAccess(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType.Enum access)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(ACCESS$28);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(ACCESS$28);
            }
            target.setEnumValue(access);
        }
    }
    
    /**
     * Sets (as xml) the "access" attribute
     */
    public void xsetAccess(com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType access)
    {
        synchronized (monitor())
        {
            check_orphaned();
            com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType target = null;
            target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType)get_store().find_attribute_user(ACCESS$28);
            if (target == null)
            {
                target = (com.googlecode.horncomb.orm.jpa.v10.xmlbeans.AccessType)get_store().add_attribute_user(ACCESS$28);
            }
            target.set(access);
        }
    }
    
    /**
     * Unsets the "access" attribute
     */
    public void unsetAccess()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(ACCESS$28);
        }
    }
    
    /**
     * Gets the "metadata-complete" attribute
     */
    public boolean getMetadataComplete()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(METADATACOMPLETE$30);
            if (target == null)
            {
                return false;
            }
            return target.getBooleanValue();
        }
    }
    
    /**
     * Gets (as xml) the "metadata-complete" attribute
     */
    public org.apache.xmlbeans.XmlBoolean xgetMetadataComplete()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(METADATACOMPLETE$30);
            return target;
        }
    }
    
    /**
     * True if has "metadata-complete" attribute
     */
    public boolean isSetMetadataComplete()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(METADATACOMPLETE$30) != null;
        }
    }
    
    /**
     * Sets the "metadata-complete" attribute
     */
    public void setMetadataComplete(boolean metadataComplete)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(METADATACOMPLETE$30);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(METADATACOMPLETE$30);
            }
            target.setBooleanValue(metadataComplete);
        }
    }
    
    /**
     * Sets (as xml) the "metadata-complete" attribute
     */
    public void xsetMetadataComplete(org.apache.xmlbeans.XmlBoolean metadataComplete)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlBoolean target = null;
            target = (org.apache.xmlbeans.XmlBoolean)get_store().find_attribute_user(METADATACOMPLETE$30);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlBoolean)get_store().add_attribute_user(METADATACOMPLETE$30);
            }
            target.set(metadataComplete);
        }
    }
    
    /**
     * Unsets the "metadata-complete" attribute
     */
    public void unsetMetadataComplete()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(METADATACOMPLETE$30);
        }
    }
}
